package shake.el;

import javax.el.ExpressionFactory;
import javax.el.FunctionMapper;
import javax.el.VariableMapper;

import org.jboss.el.ExpressionFactoryImpl;
import org.jboss.el.lang.FunctionMapperImpl;
import org.jboss.el.lang.VariableMapperImpl;

import shake.annotation.Component;
import shake.annotation.Install;
import shake.annotation.Unwrap;

@Install(precedence = Install.BUILD_IN)
@Component
public class JBossEL {
	ExpressionFactory factory = new ExpressionFactoryImpl();
	FunctionMapper functionMapper = new FunctionMapperImpl();
	VariableMapper variableMapper = new VariableMapperImpl();

	@Unwrap
	public ExpressionFactory getFactory() {
		return factory;
	}

	@Unwrap
	public FunctionMapper getFunctionMapper() {
		return functionMapper;
	}

	@Unwrap
	public VariableMapper getVariableMapper() {
		return variableMapper;
	}

}
